home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: 500 MB Amiga Software / 500 MB Amiga Software - Euber 130 - Amiga Games Disc & Mag.iso / userbox / publicdomain / tinymeter / source / tinymeter_main / include / libraries / shutdownbase.h < prev   
C/C++ Source or Header  |  1992-04-10  |  2KB  |  79 lines

  1. #ifndef _LIBRARIES_SHUTDOWN_H
  2. #define _LIBRARIES_SHUTDOWN_H 1
  3.  
  4. #ifndef _EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif    /* _EXEC_TYPES_H */
  7.  
  8. #ifndef _EXEC_NODES_H
  9. #include <exec/nodes.h>
  10. #endif    /* _EXEC_NODES_H */
  11.  
  12. struct ShutdownInfo
  13. {
  14.     struct MinNode    sn_Node;
  15.  
  16.     LONG        sn_Reserved[10];
  17.     APTR        sn_UserData;
  18. };
  19.  
  20. #define SNB_RESET    0
  21. #define SNF_RESET    (1 << 0)
  22.  
  23. enum    {    SHUTDOWN_NORMAL, SHUTDOWN_FAST };
  24.  
  25. #ifdef AZTEC_C
  26.  
  27. #ifndef __VERSION
  28. #define __VERSION 360
  29. #endif    /* __VERSION */
  30.  
  31. #if __VERSION < 500
  32.  
  33. #ifdef __NO_PROTOS
  34. #undef __NO_PROTOS
  35. #endif    /* __NO_PROTOS */
  36.  
  37. #ifdef __NO_PRAGMAS
  38. #undef __NO_PRAGMAS
  39. #endif    /* __NO_PRAGMAS */
  40.  
  41. #define __NO_PROTOS    1
  42. #define __NO_PRAGMAS    1
  43.  
  44. #endif    /* __VERSION */
  45.  
  46. #endif    /* AZTEC_C */
  47.  
  48. #ifdef __ARGS
  49. #undef __ARGS
  50. #endif    /* __ARGS */
  51.  
  52. #ifdef __NO_PROTOS
  53. #define __ARGS(x) ()
  54. #else
  55. #define __ARGS(x) x
  56. #endif    /* __NO_PROTOS */
  57.  
  58. VOID            Shutdown __ARGS((ULONG Mode));
  59. struct ShutdownInfo *    AddShutdownInfo __ARGS((LONG (*Check)(),VOID (*Exit)(),STRPTR Name,ULONG Flags));
  60. LONG            RemShutdownInfo __ARGS((struct ShutdownInfo *Info));
  61.  
  62. #if !defined(__NO_PRAGMAS) && !defined(__NO_PROTOS)
  63.  
  64. #ifdef LATTICE
  65. #pragma libcall ShutdownBase AddShutdownInfo 24 a9804
  66. #pragma libcall ShutdownBase RemShutdownInfo 2a 801
  67. #pragma libcall ShutdownBase Shutdown 30 1
  68. #endif    /* LATTICE */
  69.  
  70. #ifdef AZTEC_C
  71. #pragma amicall(ShutdownBase, 0x24, AddShutdownInfo(a0,a1,a2,d0))
  72. #pragma amicall(ShutdownBase, 0x2a, RemShutdownInfo(a0))
  73. #pragma amicall(ShutdownBase, 0x30, Shutdown(d0))
  74. #endif    /* AZTEC_C */
  75.  
  76. #endif    /* __NO_PRAGMAS */
  77.  
  78. #endif    /* _LIBRARIES_SHUTDOWN_H */
  79.